﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 依赖注入的方式
{
    // 不同的人开不同的车
   public interface ICar
    {
        void Run();
    }

    public interface IDriver
    {

        // 接口注入：在接口/类中，将要注入的服务对象，以参数的形势 直接注入  接口注入
        void Drive(ICar car);
    }


    // 接口注入

    public class Benz:ICar
    {
        public void Run() {
            Console.WriteLine("奔驰正在跑");
        }
    }

    public class  Student:IDriver
    {
        public void Drive(ICar car)
        {
            car.Run();
        }
    }

}


